package com.guigu.eduservice.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 卖家资质表（存储卖家实名认证材料及审核结果）
 * </p>
 *
 * @author janecraft
 * @since 2025-09-27
 */
@TableName("seller_qualification")
@Data
public class SellerQualification implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 资质申请唯一标识
     */
    @TableId(value = "qualification_id", type = IdType.AUTO)
    private Long qualificationId;

    /**
     * 关联用户表user_id（唯一，一个用户仅一条资质记录）
     */
    private Long userId;

    /**
     * 卖家类型（0-个人卖家，1-企业卖家）
     */
    private int sellerType;

    /**
     * 个人卖家身份证正面照片URL（seller_type=0时必填）
     */
    private String idCardFront;

    /**
     * 个人卖家身份证反面照片URL（seller_type=0时必填）
     */
    private String idCardBack;

    /**
     * 企业卖家营业执照照片URL（seller_type=1时必填）
     */
    private String businessLicense;

    /**
     * 企业法人身份证正面照片URL（seller_type=1时必填）
     */
    private String legalIdCardFront;

    /**
     * 企业法人身份证反面照片URL（seller_type=1时必填）
     */
    private String legalIdCardBack;

    /**
     * 审核状态（0-待审核，1-审核通过，2-审核不通过）
     */
    private int auditStatus;

    /**
     * 审核备注（审核不通过时填写原因，如"身份证模糊"）
     */
    private String auditRemark;

    /**
     * 审核时间（审核状态变更为1或2时记录）
     */
    private LocalDateTime auditTime;

    /**
     * 申请时间（用户提交资质的时间）
     */
    private LocalDateTime applyTime;

    /**
     * 记录创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
     * 记录更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;
}
